<?php
namespace Admin\Controller;
use Think\Controller;
class UserController extends PublicController
{
    //前台用户显示
    public function index(){
        // $data = M('user')->select();
        $this->assign('title', '前台用户列表');
        // $this->assign('list', $data);
        // $this->display('User/index');
        $this->page();
    }

    //分页
    public function page()
    {
        $_GET['p'] = empty($_GET['p'])?'1':$_GET['p'];

        if ($_POST['name']) {
            $name = $_POST['name'];
        } elseif ($_GET['name']) {
            $name = $_GET['name'];
        }

        $where['name'] = array('like', '%'.$name.'%');
        $User = M('user'); // 实例化User对象
        // 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
        $list = $User->page($_GET['p'].',5')->where($where)->select();
        $this->assign('list',$list);// 赋值数据集
        $count = $User->where($where)->count();// 查询满足要求的总记录数
        $Page = new \Think\Page($count,5);// 实例化分页类 传入总记录数和每页显示的记录数
        $Page->parameter['name'] = $name;
        $show = $Page->show();// 分页显示输出
        $this->assign('count',$count);// 赋值总条数
        $this->assign('p',$_GET['p']);// 赋值当前页
        $this->assign('page',$show);// 赋值分页输出
        // v($_SESSION);exit;
        $this->display('User/index'); // 输出模板
    }

    //删除
    public function del()
    {
        //判断 有无传递ID
        if (empty($_GET['id'])) {
            $this->redirect('Admin/User/index');
            exit;
        }
        //接收ID
        $id = I('get.id/d');

        //执行删除
        if (M('user')->delete($id) > 0) {
            $this->success('删除成功',U('index'));
        } else {
            $this->error('删除失败',U('index'));
        }
    }

    //添加页面
    public function add()
    {
        $this->assign('title','添加前台用户');
        $this->display('User/add');
    }

    //执行添加
    public function insert()
    {
        //判断 有无传递POST
        // if (empty($_POST)) {
        //     $this->error('请添加数据!',U('Admin/User/add'));
        //     exit;
        // }

        if (IS_POST) {
            //过滤数据
            if (!D('user')->create()) {
                $this->error(D('user')->getError());
            } else {
                if (D('user')->add() > 0) {
                    $this->success('添加成功',U('index'));
                } else {
                    $this->error('添加失败');
                }
            }
        } else {
            $this->error('禁止非法添加');
        }
    }

    //添加页面
    public function edit($id)
    {
        //接收参数
        $id = I('get.id/d');
        //查数据
        $data = M('user')->find($id);

        $this->assign('title','编辑前台用户');
        $this->assign('data',$data);
        $this->display('User/edit');
    }

    //执行修改
    public function update()
    {
        //判断 有无传递POST
        if (empty($_POST)) {
            $this->error('请完善数据!');
            exit;
        }
        if (!D('user')->create()) {
            $this->error(D('user')->getError());
        } else {
            // echo D('user')->fetchSql(true)->save($_POST);
            if (D('user')->save($_POST) > 0) {
                $this->success('编辑成功',U('index'));
            } else {
                $this->error('编辑失败');
            }
        }
    }

}
